package com.nodecollege.cloud.service;

import com.nodecollege.cloud.common.model.BindVO;
import com.nodecollege.cloud.common.model.NCResult;
import com.nodecollege.cloud.common.model.QueryRelationVO;
import com.nodecollege.cloud.common.model.po.UpmsMenu;
import com.nodecollege.cloud.common.model.po.UpmsOrg;
import com.nodecollege.cloud.common.model.po.UpmsRole;

import java.util.List;

/**
 * @author LC
 * @date 2020/1/8 18:56
 */
public interface RoleMenuService {

    /**
     * 根据菜单查询角色列表
     *
     * @param query
     * @return
     */
    NCResult<UpmsRole> getRoleListByMenuId(QueryRelationVO<UpmsRole, UpmsMenu> query);

    /**
     * 运维管理 应用预制角色管理 查询角色已绑定菜单信息 入参 appId roleId
     * 系统管理 角色管理 查询租户有权限的 已经绑定的菜单信息 入参 tenantId roleId
     *
     * @param query
     * @return
     */
    List<UpmsMenu> getMenuListByRoleId(UpmsRole query);

    /**
     * 绑定/解绑角色菜单关系
     *
     * @param bindVO
     */
    void bindRoleMenu(BindVO bindVO);
}
